home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr05 / xnot12a.zip / CHRDEF.H < prev    next >
C/C++ Source or Header  |  1993-05-20  |  4KB  |  173 lines

  1. /*
  2.  * sys/msdos/chardef.h: character set specific #defines for mg 2a
  3.  */
  4.  
  5. #ifndef CHARMASK
  6. /*
  7.  * casting should be at least as efficent as anding with 0xff,
  8.  * and won't have the size problems.  Override in sysdef.h if no
  9.  * unsigned char type.
  10.  */
  11. # define CHARMASK(c)    ((unsigned char) (c))
  12. #endif
  13.  
  14.  
  15. #ifdef SOL_0
  16. # include <ctype.h>
  17. # define ISWORD(c)    (isalpha(c) || isdigit(c) || ispunct(c))
  18. # define ISCTRL(c)    iscntrl(c)
  19. # define ISUPPER(c)    isupper(c)
  20. # define ISLOWER(c)    islower(c)
  21. # define ISEOSP(c)    ispunct(c)
  22. # define ISDIGIT(c)    isdigit(c)
  23. # define TOUPPER(c)    toupper(c)
  24. # define TOLOWER(c)    tolower(c)
  25. #else
  26. /*
  27.  * These flags, and the macros below them,
  28.  * make up a do-it-yourself set of "ctype" macros that
  29.  * understand the DEC multinational set, and let me ask
  30.  * a slightly different set of questions.
  31.  */
  32. # define _W    0x01            /* Word.            */
  33. # define _U    0x02            /* Upper case letter.        */
  34. # define _L    0x04            /* Lower case letter.        */
  35. # define _C    0x08            /* Control.            */
  36. # define _P    0x10            /* end of sentence punctuation    */
  37. # define _D    0x20            /* is decimal digit        */
  38. # define ISWORD(c)    ((getcinfo(CHARMASK(c))&_W)!=0)
  39. # define ISCTRL(c)    ((getcinfo(CHARMASK(c))&_C)!=0)
  40. # define ISUPPER(c)    ((getcinfo(CHARMASK(c))&_U)!=0)
  41. # define ISLOWER(c)    ((getcinfo(CHARMASK(c))&_L)!=0)
  42. # define ISEOSP(c)    ((getcinfo(CHARMASK(c))&_P)!=0)
  43. # define ISDIGIT(c)    ((getcinfo(CHARMASK(c))&_D)!=0)
  44. # define TOUPPER(c)    ((c)-0x20)
  45. # define TOLOWER(c)    ((c)+0x20)
  46. #endif
  47.  
  48. #define ISWHITE(c)      (((c) == ' ') || ((c) == '\t'))
  49. /*
  50.  * generally useful thing for chars
  51.  */
  52. #define CCHR(x)        ((x) ^ 0x40)    /* CCHR('?') == DEL */
  53.  
  54. #ifndef    METACH
  55. # define    METACH    CCHR('[')
  56. #endif
  57.  
  58. #ifdef    XKEYS
  59. # define    K00    256
  60. # define    K01    257
  61. # define    K02    258
  62. # define    K03    259
  63. # define    K04    260
  64. # define    K05    261
  65. # define    K06    262
  66. # define    K07    263
  67. # define    K08    264
  68. # define    K09    265
  69. # define    K0A    266
  70. # define    K0B    267
  71. # define    K0C    268
  72. # define    K0D    269
  73. # define    K0E    270
  74. # define    K0F    271
  75. # define    K10    272
  76. # define    K11    273
  77. # define    K12    274
  78. # define    K13    275
  79. # define    K14    276
  80. # define    K15    277
  81. # define    K16    278
  82. # define    K17    279
  83. # define    K18    280
  84. # define    K19    281
  85. # define    K1A    282
  86. # define    K1B    283
  87. # define    K1C    284
  88. # define    K1D    285
  89. # define    K1E    286
  90. # define    K1F    287
  91. # define    K20    288
  92. # define    K21    289
  93. # define    K22    290
  94. # define    K23    291
  95. # define    K24    292
  96. # define    K25    293
  97. # define    K26    294
  98. # define    K27    295
  99. # define    K28    296
  100. # define    K29    297
  101. # define    K2A    298
  102. # define    K2B    299
  103. # define    K2C    300
  104. # define    K2D    301
  105. # define    K2E    302
  106. # define    K2F    303
  107.  
  108. /* I needed to complete the job of defining F keys and Keypad keys (JAM)
  109. */
  110. # define K30     304
  111. # define K31     305
  112. # define K32     306
  113. # define K33     307
  114. # define K34     308
  115. # define K35     309
  116. # define K36     310
  117. # define K37     311
  118. # define K38     312
  119. # define K39     313
  120. # define K40     314
  121. # define K41     315
  122. # define K42     316
  123. # define K43     317
  124. # define K44     318
  125. # define K45     319
  126. # define K46     320
  127. # define K47     321
  128. # define K48     322
  129. # define K49     323
  130. # define K50     324
  131. # define K51     325
  132. # define K52     326
  133. # define K53     327
  134. # define K54     328
  135. # define K55     329
  136. # define K56     330
  137. # define K57     331
  138. # define K58     332
  139. # define K59     333
  140. # define K60     334
  141. # define K61     335
  142. # define K62     336
  143. # define K63     337
  144. # define K64     338
  145. # define K65     339
  146. # define K66     340
  147. # define K67     341
  148. # define K68     342
  149. # define K69     343
  150. # define K70     344
  151. # define K71     345
  152. # define K72     346
  153. # define K73     347
  154. # define K74     348
  155. # define K75     349
  156. # define K76     350
  157. # define K77     351
  158. # define K78     352
  159. # define K79     353
  160. # define K80     354
  161. # define K81     355
  162. # define K82     356
  163. # define K83     357
  164. # define K84     358
  165. # define K85     359
  166. # define K86     360
  167. # define K87     361
  168. # define K88     362
  169. # define K89     363
  170. # define K90     364
  171. #endif
  172.  
  173.